package com.qingcloud.adminbackend.entity.product;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * <p>
 * 蛙鸣产品型号定义
 * </p>
 *
 * @author luozehua
 * @since 2019-04-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_product_type")
public class SysProductType extends Model {

    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 产品型号
     */
    private String productType;

    /**
     * 型号名称
     */
    private String productTypeName;

    /**
     * 产品系列(1:室内；2：微站：3：小型机；4：无人机；5便携式）
     */
    private Integer productSeries;

    /**
     * 产品(1:室内通用；2：室内装修）
     */
    private Integer product;

    /**
     * 型号描述
     */
    private String productTypeDesc;

    /**
     * 协议类型(协议类型(1室内蛙鸣MQTT, 2室内漂爱协议，3网格化TCP/IP，4蛙鸣第三方机器人协议,5蛙鸣消杀设备，6蛙鸣采样设备协议，7佳沃天河消杀协议))
     */
    private Integer protocolCoe;

    /**
     * 可用监测因子
     */
    private String sensorFactors;

    /**
     * 可用设备状态
     */
    private String equipmentStates;

    /**
     * 可用运行模式
     */
    private String runningModuls;

    /**
     * 支持固件升级: 0：支持，1不支持
    */
    private Boolean firmwareUpgrade;

    /**
     * 创建用户id
     */
    private String createBy;

    /**
     * 更新用户id
     */
    private String modifyBy;

    /**
     * 创建时间
     */
    private LocalDateTime createDt;

    /**
     * 更新时间
     */
    private LocalDateTime modifyDt;

    @TableField(value = "cycle")
    @ApiModelProperty(value = "维护周期（产品为气溶胶类型时为粒子个数）")
    private Long cycle;
}
